/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package media;

import vue.FicheMediaAbstract;

/**
 *Classe abstraite Media qui défini les propriétés communes à tout média
 * @author Florian MININ & Khémon BEH
 */
public abstract class Media implements java.io.Serializable {

    /**
     * Attributs
     */
    protected int idMedia;
    protected String nomFichier;
    protected String cheminSurDisque;
    protected String description;
    protected int note;

    /**
     * Constructeur dont hériteront l'ensemble des classes filles
     */
    public Media() {
        nomFichier = "";
        cheminSurDisque = "";
        description = "";
        note = 0;
    }

    /**
     * Getteurs et Setteurs
     */
    
    public int getIdMedia() {
        return idMedia;
    }

    public String getCheminSurDisque() {
        return cheminSurDisque;
    }

    public String getDescription() {
        return description;
    }

    public String getNomFichier() {
        return nomFichier;
    }

    public int getNote() {
        return note;
    }

    public void setCheminSurDisque(String cheminSurDisque) {
        this.cheminSurDisque = cheminSurDisque;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public void setNomFichier(String nomFichier) {
        this.nomFichier = nomFichier;
    }

    public void setNote(int note) {
        this.note = note;
    }

    public void setIdMedia(int _idMedia) {
        idMedia = _idMedia;
    }

    public abstract String getType();

    @Override
    public String toString() {
        return "Id : " + idMedia
                + "\nNom du fichier : " + nomFichier
                + "\nChemin : " + cheminSurDisque
                + "\nDescription : " + description
                + "\nNote : " + note;
    }
}
